YouTube as a Learning Tool: A Survey of Citizen Developers in Software Engineering  
53 responses

What is your experience with creating or customizing software solutions, even if you do not have formal training as a software engineer (e.g., building simple apps, automating tasks, or using low-code/no-code tools)?  

53 responses
Copy
.
Building websites
I have never exp in creating or customizing any software.
My focus has been on exploring the most effective ways to solve real-world problems by building simple applications, automating repetitive tasks, and improving existing workflows. I regularly use tools such as Cypress for test automation, Postman for API testing, and I experiment with low-code/no-code platforms to speed up development where applicable. Additionally, I continuously research best practices, study documentation, follow industry trends, and try out new tools and technologies to enhance my solutions. This self-driven approach allows me to stay adaptable and creative when addressing technical challenges.
Solid
Comlicated and hard
Building simple apps
I have created multiple widely used software for both commercial and internal web applications
As a web developer, I’ve had hands-on experience creating and customizing software solutions across various projects. I’ve built dynamic websites and applications using tools like WordPress, Next.js, and Angular, often going beyond templated solutions by writing custom code to meet specific client or project needs. I also use automation scripts and utilities to streamline workflows, such as generating dynamic content, optimizing performance, or handling repetitive tasks with JavaScript or Node.js. In addition, I’m comfortable using low-code tools like Elementor for WordPress customization, and I integrate third-party APIs and libraries when needed to enhance functionality. My focus is always on solving real-world problems efficiently, whether that means building from scratch or customizing existing platforms.
I worked in the field for 1 year
I have experience building simple web applications using Angular, integrating third-party APIs, and automating small tasks using JavaScript.
In 90% it includes following instructions from different AI tools or tutorials available from various sources.
I have the will to start something as an app but the formal training is very important to someone like me who has no idea how to code which stops me right there from making my own app
I don’t have experience
Significant (14 years in the industry)
Whit my experience i can create a simple website using basic coding methods
Low
Mostly building simple apps, buisness apps and web development with code and no code tools
Back in the day, stack overflow was my savior. :)
My experience is mostly in creating server-side web applications.
We learned it at school at some point for a few months, we were learning about HTML.
Some experience
I don’t have much experience in creating or customizing software solutions, but I’m open in learning and exploring new tools when needed.
I have some experience building simple web apps and automating tasks using JavaScript and Java. I’ve also used tools like WordPress for customizing websites, even without formal software engineering training.
Experience that I have is building simpe apps and also using low-code tools
using low-code or no-code tools
Although I don’t have formal training as a software engineer, I’ve gained hands-on experience by creating and customizing software solutions to improve efficiency in various tasks. For example, I’ve used low-code/no-code tools like Airtable, Zapier, and Notion to automate workflows and manage data more effectively. I’ve also built simple apps using platforms like Glide and AppSheet, which helped streamline internal operations for a small business. Additionally, I’ve explored basic scripting in Python and Google Apps Script to automate repetitive tasks such as sending emails, generating reports, or organizing files. These experiences have helped me develop a problem-solving mindset and a solid understanding of how to leverage technology to make work more efficient.
Najvise volim da kodiram kad je u pitanju dobar kod a i dobar softver, kad me zainteresuje neki softver ja se stavim u neki sto bi neki rekli “F L O W S T A T E” i onda mogu sve to da odradim nekako brzinski i veledostojno svakog komplimenta na taj velelepni softver koji sam, ponekad i ja sam stvarao. Ako se covjek zadubi u sustinu, tu postoji zona koja se moze porediti sa znacenjem recenice: “Iza mutnih očiju, zao osmijeh viri.” U kodu je, bar ja smatram, ista situacija.
Building simple web and desktop applications.
building simple web apps and web sites
7 years of experience as software developer
I have experience in building complex systems and I have built apps that automate some tasks that I do on daily basis.
Third year student on faculty for Software engineering, also have half of year experience in testing of applications.
i dont have much experience
I have no experience in creating software solutions
i have no experience
Writing Matlab codes
Little
Building simple apps and programs
I have a little experience
I don't have any experience, but I have a desire to learn, even the most basic things.
I never really built any original projects, but I’ve automated tasks with the help of YouTube tutorials and the Python Crash Course self-learning book.
I've worked on simple projects
Web development
From my personal experiance it is a very intreting approach to finding solutions for all kind of problems.
I have done a bit of work in that area as part of my university education, but my overall experience is limited
Created some web and mobile applications
I’ve worked on small projects where I built simple apps, automated tasks, and used no-code tools to solve real problems, even without formal software engineering training.
4 year experience in SE
None
I was very surprised how easily you can find and learn from different clips. For example, when I was stuyding PHP, I followed a course/tutorial that helped me to create and implement my project.
I have experience using low-code platforms like Airtable and Zapier to automate workflows and integrate tools like Google Sheets and Slack. I’ve also customized simple apps using platforms like Bubble.io and AppGyver without formal software engineering training. YouTube tutorials played a huge role in helping me understand how to structure logic, handle data, and build user interfaces step by step. This allowed me to create useful internal tools for my team and automate repetitive tasks efficiently.
I worked on several student projects using technologies. Through these projects, I had the opportunity to develop simple web applications, work on backend logic, and customize the design and functionality of user interfaces. Although I don’t have formal work experience as a software engineer, these projects allowed me to gain practical skills in programming and software development.
No responses yet for this question.
When you’re stuck or want to learn something about software engineering, do you use YouTube to search for answers?  53 responses
Copy
AlwaysOftenSometimesRarelyNever17%20.8%18.9%41.5%
Always9
Often22
Sometimes10
Rarely11
Never1
No responses yet for this question.

What factors influence your decision when selecting a YouTube video for learning?

53 responses
Copy
010203040video lengthpopularitypresenter’s expertiserelevance to your currentproject16 (30.2%)26 (49.1%)26 (49.1%)34 (64.2%)
ValueCount
video length16
popularity26
presenter’s expertise26
relevance to your current project34
No responses yet for this question.
When searching, do you usually use technical terms (e.g., “software verification”) or more casual language (e.g., “how to test my code”)?  53 responses
Copy
technical termscasual language67.9%32.1%
technical terms17
casual language36
No responses yet for this question.

 Imagine you’re starting a new project, and the customer has asked you to provide a formal requirements document. You’re not formally trained in software engineering, but you want to learn how to create a clear, structured requirements document through YouTube tutorials. How would you type your search query on YouTube to find this information? 

53 responses
Copy
how to create a formal requirements document
How to write a software requirements document - beginner's guide
How to make formal requirements document
It would be like “ How to write a software requirements document for beginners”
I would type: "How to write a software requirements specification document for beginners" .
How to create a new application in software engineering?
how to create a clear, structured requirements document
Formal requirements document tutorials for beginners
How to write formal requirements document for a client
How to create an SRS document step by step
How to write formal requirements document
Example of a software requirements document step by step
“tutorial for …”
how to provide a formal requirements document.
I would look for videos that are made for beginners and explain the structure of a good requirements document, including examples and templates.
How to write a software requirements specification document
I would look for the best channels on YouTube that would help me with software engineering, and then I would find through them how to reach the final solution
Software requirements document guidelines
How to create formal requirements document for software
I wouldn't use youtube for that purpose, but google/stack-overflow (back in the day), ai nowadays
How to write down formal requirements in software engineering, how to document functional requirements, everything you need to know about requirements in software development
"what are formal requirements documents for project?"
How to prepare a Formal requirement document
I would search for ‘How to write a software requirements document for beginners’ on YouTube to find simple, step-by-step tutorials that explain how to structure it and what to include.
Software project requirements explained simply.
Required document for software solutions
how to create a formal software development document
Beginner guide to writing project requirements documentation
Prvo bih, da ne duzim, vjerovatno poslusao neku pjesmu od odabranih pjevaca. Da bih se ubacio, kao sto sam (nego li maloprije) naveo, ja moram poslusati makar par pjesama (HITOVA) od nasih domacih legenda. Da ne duzim, mislim da je najbitnije da se video pogleda u maniru zdravog stava. Jer šta je stav, nego jedno utočište, uoči beznađa. Sa pravim stavom se da naučiti sve. Život je definisan stavom, a ne nekim minijaturnim videom, na nekoj stranici. Ja biram stav.
How to document requirements for a software engineering project
How to write a formal requirements document
how to write technical document for clients
Usually yes
how to creatw a formal requirements document
How to create a software document (with specific requirements and needs of the customer)?
How to write a formal requirements document
How to make App requirements document
software requirements specification tutorial for beginners
How to make a formal requirements documen?t
How to provide a formal requirements document - quick solutions
I would use keywords in hopes of finding what I need, for example: "Software Formal Requirements Document."
Software requirements specification tutorial
,,How to create a formal requirement document’’
Making a formal requirements document for novices
Something like: “ Software requirements document tutorial for non-engineers”
How to create clear structured requirements document for projects
How to create clear, structured requriments document
software requirements documentation tutorial
How to create a clear, structured reuquirements documents?
"How to create a software document with specific requirements"
software requirements specification tutorial for non-programmers
Project documentation software engineering
No responses yet for this question.

Below is a list of ten primary software engineering topics from the SWEBOK. As a citizen developer, please rank them from 1 (most likely to search on YouTube) to 10 (least likely to search)

Copy
Software RequirementsSoftware ArchitectureSoftware DesignSoftware ConstructionSoftware TestingSoftware Engineering OperationsSoftware MaintenanceSoftware ManagementSoftware QualitySoftware Security05101512345678910
12345678910
Software Requirements17263223873
Software Architecture81235226654
Software Design412113311369
Software Construction53714756123
Software Testing15691641416
Software Engineering Operations212510174129
Software Maintenance 26245712753
Software Management229412111453
Software Quality18246475133
Software Security112521924710
No responses yet for this question.

For the three topics you ranked highest in the previous question, please describe what specific aspects or subtopics you would be most interested in learning about on YouTube.

53 responses
Copy
For software design, I'd be most interested in learning about user interface (UI) design principles, such as usability and accessibility, and how they influence the user experience.
Software design: creating responsive and eye catching design, Software quality: implementing good practices, Software security: protocols, tools and good practices for security
At the begining, it’s important to know how to make a thing, then I will do on the quality or security of the software.
1. Software Requirements I would like to learn how to gather, organize, and document requirements clearly. I'm especially interested in understanding the difference between functional and non-functional requirements, how to structure a Software Requirements Specification (SRS), and how to communicate effectively with stakeholders during the requirements-gathering phase. 2. Software Architecture I'm most interested in learning about different architectural patterns (like MVC, microservices, layered architecture), how to choose the right architecture based on the project type, and how to visually represent architecture using diagrams such as UML or C4 models. 3. Software Testing I’m particularly interested in learning more about writing effective test cases, understanding different testing types (unit, integration, end-to-end), and how to apply automation testing using tools like Cypress or Postman. I’d also like to understand best practices in test planning and reporting. 4. Software Design I would like to learn the core principles of good software design, such as SOLID principles, design patterns (like Singleton, Factory, Observer), and how to apply them in real-world scenarios. I’m also interested in understanding the difference between software design and architecture, as well as how to create clean, maintainable, and scalable code through proper design practices.
I should think a put it
How to architect, how to construct, and how to test
Design principles, architectural styles, functional requirements
Good software architecture is the most important thing in a software for every topic in the previous question, which is why every software engineer should know it
1. Software Requirements: I’d look for how to gather client requirements, write simple requirement documents, and understand functional vs. non-functional requirements. 2. Software Security: I’d focus on basic web app security (XSS, CSRF, SQL injection), securing login forms, and password handling. 3. Software Maintenance: I’d search for tips on updating websites, using Git for version control, and fixing bugs or improving performance over time.
Software design and architecture
Software Construction:Modern Framework Tutorials, Clean Code Practices Tooling and Automation. Software Testing: Test Automation Frameworks, Unit Testing Deep Dives, Test-Driven Development. Software Architecture: Microservices Design, API Architecture
For software construction: “how to build a certain part of software/platform” or “step by step build of app”
I dont have any specific topics from the ones i ranked highest, just them in general
For software design, I would like to learn about different design patterns and how to structure scalable applications. For software quality, I’m interested in learning about testing techniques and how to ensure reliability. For software security, I would focus on common vulnerabilities and best practices to protect applications.
Most common and modern practices when working on testing (QA), safety and security.
I would like to find as much information as possible and better understand software quality, maintenance and security
Microservices vs monoliths, design patterns, maintaning cloud applications
Software design principles and patterns, architectural styles in software engineering and test-driven development (TDD) tutorial
software architecture - latest advancements in using design patterns, software engeneering: aws dotnet core api deployment
I would be most interested in learning about quality attributes in software, learning how to properly perform user requirements analysis and specification, and how to manage software in a slightly more complex environment.
I would love to learn how to construct and design a page or software. It would also be very interesting to look at it from architecture perspective.
Software construction and testing
For software architecture, I’d like to learn about different architecture patterns and how to choose the right one for a project. For management, I’m interested in task prioritization, team communication, and handling deadlines. For software design, I’d focus on design principles, best practices, and how to create clear and simple designs.
Requirements: How to gather requirements form clients, writing user stories and acceptance criteria, creating a software requirements specification then Testing: test- driven development, unit testing with frameworks and Software design: design patterns, UML diagrams for system design.
On YouTube, I would like to learn about the basic types of testing (unit testing, integration testing, system testing), as well as how to write tests using popular frameworks like JUnit or Selenium. For software architecture I would like to watch real-world examples—how a software system’s architecture is designed from scratch, what decisions are made, and how to balance performance. On YouTube, I’d like to learn about best practices for writing clean, efficient, and maintainable code.
Software Architecture,Software Construction,Software Security
Common mistakes to avoid when documenting requirements
Ovo pitanje, meni lično, je palo kao BUDALI ŠAMAR. Najprije bih potražio jedan dobar video u kojem se ljudi bave pitanjem, pretpostavili ste, stava. Pozdrav za Mašu, a i u dobrom, simultano pozitivnom maniru i za Nikolu. Srećno!
Software architecture - design patterns and specific architectures like microservice, Software testing - unit and integration testing for Java and learning libraries like JUnit or Mockito, Software security - penetration testing/ethical hacking and how to prevent most common attacks like SQL injectio or Cross-site scripting
Test-Driven Development (TDD), Design Patterns , OWASP
app security, system testing and docker
For software testing I’m interested in learning how to write good tests that are useful for different parts of a project. For software security I want to learn more about common security mistakes developers make and how to avoid them. And for software design I’m interested to learn how to organize code even more readable and understandable and easier to change later
I would like to learn about penetration testing tehniques and how to use the relevant software. Im also interested in learning about software design such as how to properly architect development and schedule it. Also the best techniques to maintain software and deal with code debt.
how to keep, manage and maintain your software
I would be particularly interested in the following topics: combination coding, verification, unit testing, integration testing, and debugging.
software design, software construction, software testing
If i want to learn how to use a new software I think the most important information about that software is how it functions, learning the operations and testing the software. YouTube is a great platform that can improve my knowledge in these fields and help me go from a beginner to an advanced level of expertise.
Software managment, software interface, engineering operations
/
Everything about them
Actually, I would like to know a lot about the professions of my friends who are involved in these things.
1. I'd like to learn how to properly write and organize code in small projects. 2. Debugging and unit testing 3. Planning ahead and SRS Documents
Ux/ui design, new features, best practices in coding
Best Software engineering practices in web an ai development
I would like now to learn the basics of softwer design and arhitecture.
How to gather and document user requirements; Writing clear and structured requirement documents; Intro to design tools like Figma; How to make sure an app works on different devices and browsers
Testing and debugging
For software maintenance, I’m interested in tips for handling legacy code, debugging, and managing technical debt. In security, I’d like to learn about secure coding, common vulnerabilities, and how to protect apps and data. For software management, I’m curious about agile workflows, task prioritization, and team coordination in real projects.
test odgovor
I dont know
For Software Testing, I would like to see a tutorial about finding and correcting the most common mistakes in programming (such as using switch instead of if-else, naming variables effectively, understanding the difference between coding in one line vs. multiple lines, and how to implement best practices for readability, etc.). For Software Engineering Operations, I would be interested in learning about continuous integration/continuous deployment (CI/CD) practices, setting up automated testing pipelines, and managing version control effectively using Git. Additionally, tutorials on managing software development life cycles and improving team collaboration would be valuable. For Software Maintenance, I would like to learn how to handle bug fixes, refactor code to improve performance, manage legacy code, and ensure that the software remains scalable and adaptable to future requirements over time.
Microservices vs Monolith(architecture), MVC and Singleton(Design), XSS, Sql Injection and API secure(security)
I'm most interested in learning about secure coding practices, common vulnerabilities like SQL injection and XSS, CI/CD pipelines, DevOps tools such as Docker and GitHub Actions, as well as techniques for gathering, documenting, and managing software requirements using user stories and use cases.
No responses yet for this question.
This content is neither created nor endorsed by Google. - Contact form owner - Terms of Service - Privacy Policy

Does this form look suspicious? Report

.